$(function(){
    layui.use(['element','table'], function () {
        var table = layui.table;
        // +----------------------------------------------------------------------
        // | 刷新
        // +----------------------------------------------------------------------
        $(".dw-refresh").click(function () {
            location.href = location.href;
        });
        // +----------------------------------------------------------------------
        // | 批量删除
        // +----------------------------------------------------------------------
        $(".dw-batch-delete").click(function () {
            //获取选中行的数据
            var checkStatus = table.checkStatus('demo'); //demo即为基础参数id对应的值
            //console.log(checkStatus.data)
            var chk_value   = [];
            $.each(checkStatus.data, function (index, item) {
                console.log(item);
                chk_value.push(item.name);
            })
            if (chk_value.length == 0) {
                layer.msg("请选择要删除的文件!", {anim: 1});
                return false;
            }
            layer.confirm('确定要删除选中的文件吗?', {icon: 3, title: '提示'}, function (index) {
                $.post("./delete", {names: chk_value}, function (obj) {
                    if (obj.code == 1) {
                        layer.msg(obj.msg, {anim: 4, time: 2000}, function () {
                            //自动化渲染的重载
                            table.reload('demo', {
                                url: './ajax_backup'
                                , where: {} //设定异步数据接口的额外参数
                            });
                        });
                    } else {
                        layer.msg(obj.msg, {anim: 1});
                    }
                });
                layer.close(index);
            });
        });
        //渲染表格，加载数据
        table.render({
            elem: '#demo'
            , height: 520
            , url: './ajax_backup' //数据接口
            , page: true //开启分页
            , cols: [[ //表头
                {fixed: 'left', type: 'checkbox'}
                , {field: 'name', title: '名称'}
                , {field: 'size', title: '大小'}
                , {field: 'time', title: '时间'}
                , {fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barDemo'}
            ]]
        });

        //监听工具条
        table.on('tool(test)', function (obj) { //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
            var data     = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr       = obj.tr; //获得当前行 tr 的DOM对象
            console.log(tr);

            if (layEvent === 'import') { //查看
                //do somehing
                console.log(data);
                layer.confirm('真的还原' + data.name + '吗？', {icon: 3, title: '提示'}, function (index) {
                    //向服务端发送删除指令
                    layer.load();
                    $.post("./import",{name: data.name},function(obj){
                        if (obj.code == 1) {
                            layer.msg(obj.msg, {anim: 4});
                        } else {
                            layer.msg(obj.msg, {anim: 1});
                        }
                        layer.closeAll('loading');
                    });
                    layer.close(index);
                });
            } else if (layEvent === 'del') { //删除
                layer.confirm('真的删除' + data.name + '吗？', {icon: 3, title: '提示'}, function (index) {
                    $.post("./delete", {name: data.name}, function (obj) {
                        if (obj.code == 1) {
                            layer.msg(obj.msg, {anim: 4});
                            //自动化渲染的重载
                            table.reload('demo', {
                                url: './ajax_backup'
                                , where: {} //设定异步数据接口的额外参数
                            });
                        } else {
                            layer.msg(obj.msg, {anim: 1});
                        }
                    });
                    layer.close(index);
                    //向服务端发送删除指令
                });
            }
        });
    });
})
